package com.matricula.model;
// Generated 9/12/2013 01:55:35 AM by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Grupo generated by hbm2java
 */
@Entity
@Table(name="GRUPO"
    ,catalog="matriculacetpro"
)
public class Grupo  implements java.io.Serializable {


     private int idGrupo;
     private Modulo modulo;
     private Profesor profesor;
     private Turno turno;
     private Date fecInicio;
     private Date fecTermino;
     private Integer numMatriculados;
     private Integer cantMaximaAlumno;
     private Set grupoDias = new HashSet(0);
     private Set matriculas = new HashSet(0);

    public Grupo() {
    }

	
    public Grupo(int idGrupo, Modulo modulo, Profesor profesor, Turno turno) {
        this.idGrupo = idGrupo;
        this.modulo = modulo;
        this.profesor = profesor;
        this.turno = turno;
    }
    public Grupo(int idGrupo, Modulo modulo, Profesor profesor, Turno turno, Date fecInicio, Date fecTermino, Integer numMatriculados, Integer cantMaximaAlumno, Set grupoDias, Set matriculas) {
       this.idGrupo = idGrupo;
       this.modulo = modulo;
       this.profesor = profesor;
       this.turno = turno;
       this.fecInicio = fecInicio;
       this.fecTermino = fecTermino;
       this.numMatriculados = numMatriculados;
       this.cantMaximaAlumno = cantMaximaAlumno;
       this.grupoDias = grupoDias;
       this.matriculas = matriculas;
    }
   
     @Id 
    
    @Column(name="idGrupo", unique=true, nullable=false)
    public int getIdGrupo() {
        return this.idGrupo;
    }
    
    public void setIdGrupo(int idGrupo) {
        this.idGrupo = idGrupo;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="MODULO_idModulo", nullable=false)
    public Modulo getModulo() {
        return this.modulo;
    }
    
    public void setModulo(Modulo modulo) {
        this.modulo = modulo;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="PROFESOR_codProfesor", nullable=false)
    public Profesor getProfesor() {
        return this.profesor;
    }
    
    public void setProfesor(Profesor profesor) {
        this.profesor = profesor;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="TURNO_idTurno", nullable=false)
    public Turno getTurno() {
        return this.turno;
    }
    
    public void setTurno(Turno turno) {
        this.turno = turno;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="fecInicio", length=10)
    public Date getFecInicio() {
        return this.fecInicio;
    }
    
    public void setFecInicio(Date fecInicio) {
        this.fecInicio = fecInicio;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="fecTermino", length=10)
    public Date getFecTermino() {
        return this.fecTermino;
    }
    
    public void setFecTermino(Date fecTermino) {
        this.fecTermino = fecTermino;
    }
    
    @Column(name="numMatriculados")
    public Integer getNumMatriculados() {
        return this.numMatriculados;
    }
    
    public void setNumMatriculados(Integer numMatriculados) {
        this.numMatriculados = numMatriculados;
    }
    
    @Column(name="cantMaximaAlumno")
    public Integer getCantMaximaAlumno() {
        return this.cantMaximaAlumno;
    }
    
    public void setCantMaximaAlumno(Integer cantMaximaAlumno) {
        this.cantMaximaAlumno = cantMaximaAlumno;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="grupo")
    public Set getGrupoDias() {
        return this.grupoDias;
    }
    
    public void setGrupoDias(Set grupoDias) {
        this.grupoDias = grupoDias;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="grupo")
    public Set getMatriculas() {
        return this.matriculas;
    }
    
    public void setMatriculas(Set matriculas) {
        this.matriculas = matriculas;
    }




}


